/**
 * 
 */
package com.roshan.web.dto;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

@SuppressWarnings("nls")
public class User implements Serializable {

    private static final String SPACE = " ";

    /**
     * The Constant serialVersionUID.
     */
    private static final long serialVersionUID = 100L;

    /**
     * The tenant.
     */
    private String tenant;

    /**
     * The uri.
     */
    private String uri;

    /**
     * The user name.
     */
    private String userName;

    /**
     * The first name.
     */
    private String firstName;

    /**
     * The last name.
     */
    private String lastName;

    /**
     * The old password.
     */
    private String oldPassword;

    /**
     * The password.
     */
    private String password;

    /**
     * The confirm password.
     */
    private String confirmPassword;

    /**
     * The email.
     */
    private String email;

    /**
     * The address1.
     */
    private String address1;

    /**
     * The address2.
     */
    private String address2;

    /**
     * The city.
     */
    private String city;

    /**
     * The zip.
     */
    private String zip;

    /**
     * The country.
     */
    private String country;

    /**
     * The state.
     */
    private String state;

    /**
     * The old pin.
     */
    private String oldPin;

    /**
     * The pin.
     */
    private String pin;

    /**
     * The pin confirm.
     */
    private String pinConfirm;

    /**
     * The mobile number.
     */
    private String mobileNumber;

    /**
     * The security question answer map.
     */
    private Map<String, String> securityQuestionAnswerMap = new LinkedHashMap<String, String>();

    /**
     * The security question.
     */
    private String securityQuestion;

    /**
     * The security answer.
     */
    private String securityAnswer;

    /**
     * The device types.
     */
    private List<String> deviceTypes;

    /**
     * The all device types.
     */
    private List<String> allDeviceTypes;

    /**
     * The tenant profile uri.
     */
    private String tenantProfileUri;

    /**
     * The partner profile uri.
     */
    private String partnerProfileUri;

    /**
     * The tenant name.
     */
    private String tenantName;

    /**
     * The user creation failed.
     */
    private boolean userCreationFailed;

    /**
     * The user update failed.
     */
    private boolean userUpdateFailed;

    /**
     * Gets the uri.
     * 
     * @return the uri
     */
    public String getUri() {
        return this.uri;
    }

    /**
     * Sets the uri.
     * 
     * @param uri the uri to set
     */
    public void setUri(String uri) {
        this.uri = uri;
    }

    /**
     * Gets the user name.
     * 
     * @return the userName
     */
    public String getUserName() {
        return this.userName;
    }

    /**
     * Sets the user name.
     * 
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * Gets the first name.
     * 
     * @return the firstName
     */
    public String getFirstName() {
        return this.firstName;
    }

    /**
     * Sets the first name.
     * 
     * @param firstName the firstName to set
     */
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    /**
     * Gets the last name.
     * 
     * @return the lastName
     */
    public String getLastName() {
        return this.lastName;
    }

    /**
     * Sets the last name.
     * 
     * @param lastName the lastName to set
     */
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    /**
     * Gets the old password.
     * 
     * @return the oldPassword
     */
    public String getOldPassword() {
        return this.oldPassword;
    }

    /**
     * Sets the old password.
     * 
     * @param oldPassword the oldPassword to set
     */
    public void setOldPassword(String oldPassword) {
        this.oldPassword = oldPassword;
    }

    /**
     * Gets the password.
     * 
     * @return the password
     */
    public String getPassword() {
        return this.password;
    }

    /**
     * Sets the password.
     * 
     * @param password the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * Gets the confirmPassword.
     * 
     * @return the confirmPassword
     */
    public String getConfirmPassword() {
        return this.confirmPassword;
    }

    /**
     * Sets the confirmPassword.
     * 
     * @param confirmPassword the confirmPassword to set
     */
    public void setConfirmPassword(String confirmpassword) {
        this.confirmPassword = confirmpassword;
    }

    /**
     * Gets the email.
     * 
     * @return the email
     */
    public String getEmail() {
        return this.email;
    }

    /**
     * Sets the email.
     * 
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * Gets the address1.
     * 
     * @return the address1
     */
    public String getAddress1() {
        return this.address1;
    }

    /**
     * Sets the address1.
     * 
     * @param address1 the address1 to set
     */
    public void setAddress1(String address1) {
        this.address1 = address1;
    }

    /**
     * Gets the address2.
     * 
     * @return the address2
     */
    public String getAddress2() {
        return this.address2;
    }

    /**
     * Sets the address2.
     * 
     * @param address2 the address2 to set
     */
    public void setAddress2(String address2) {
        this.address2 = address2;
    }

    /**
     * Gets the city.
     * 
     * @return the city
     */
    public String getCity() {
        return this.city;
    }

    /**
     * Sets the city.
     * 
     * @param city the city to set
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * Gets the zip.
     * 
     * @return the zip
     */
    public String getZip() {
        return this.zip;
    }

    /**
     * Sets the zip.
     * 
     * @param zip the zip to set
     */
    public void setZip(String zip) {
        this.zip = zip;
    }

    /**
     * Gets the country.
     * 
     * @return the country
     */
    public String getCountry() {
        return this.country;
    }

    /**
     * Sets the country.
     * 
     * @param country the country to set
     */
    public void setCountry(String country) {
        this.country = country;
    }

    /**
     * Gets the state.
     * 
     * @return the state
     */
    public String getState() {
        return this.state;
    }

    /**
     * Sets the state.
     * 
     * @param state the state to set
     */
    public void setState(String state) {
        this.state = state;
    }

    /**
     * Gets the old pin.
     * 
     * @return the oldPin
     */
    public String getOldPin() {
        return this.oldPin;
    }

    /**
     * Sets the old pin.
     * 
     * @param oldPin the oldPin to set
     */
    public void setOldPin(String oldPin) {
        this.oldPin = oldPin;
    }

    /**
     * Gets the pin.
     * 
     * @return the pin
     */
    public String getPin() {
        return this.pin;
    }

    /**
     * Sets the pin.
     * 
     * @param pin the pin to set
     */
    public void setPin(String pin) {
        this.pin = pin;
    }

    /**
     * Gets the pin confirm.
     * 
     * @return the pinConfirm
     */
    public String getPinConfirm() {
        return this.pinConfirm;
    }

    /**
     * Sets the pin confirm.
     * 
     * @param pinConfirm the pinConfirm to set
     */
    public void setPinConfirm(String pinConfirm) {
        this.pinConfirm = pinConfirm;
    }

    /**
     * Gets the mobile number.
     * 
     * @return the mobileNumber
     */
    public String getMobileNumber() {
        return this.mobileNumber;
    }

    /**
     * Sets the mobile number.
     * 
     * @param mobileNumber the mobileNumber to set
     */
    public void setMobileNumber(String mobileNumber) {
        this.mobileNumber = mobileNumber;
    }

    /**
     * Gets the security question.
     * 
     * @return the securityQuestion
     */
    public String getSecurityQuestion() {
        return this.securityQuestion;
    }

    /**
     * Sets the security question.
     * 
     * @param securityQuestion the securityQuestion to set
     */
    public void setSecurityQuestion(String securityQuestion) {
        this.securityQuestion = securityQuestion;
    }

    /**
     * Gets the security answer.
     * 
     * @return the securityAnswer
     */
    public String getSecurityAnswer() {
        return this.securityAnswer;
    }

    /**
     * Sets the security answer.
     * 
     * @param securityAnswer the securityAnswer to set
     */
    public void setSecurityAnswer(String securityAnswer) {
        this.securityAnswer = securityAnswer;
    }

    /**
     * Gets the device types.
     * 
     * @return the deviceTypes
     */
    public List<String> getDeviceTypes() {
        return this.deviceTypes;
    }

    /**
     * Sets the device types.
     * 
     * @param deviceTypes the deviceTypes to set
     */
    public void setDeviceTypes(List<String> deviceTypes) {
        this.deviceTypes = deviceTypes;
    }

    /**
     * Gets the tenant profile uri.
     * 
     * @return the tenantProfileUri
     */
    public String getTenantProfileUri() {
        return this.tenantProfileUri;
    }

    /**
     * Sets the tenant profile uri.
     * 
     * @param tenantProfileUri the tenantProfileUri to set
     */
    public void setTenantProfileUri(String tenantProfileUri) {
        this.tenantProfileUri = tenantProfileUri;
    }

    /**
     * Gets the partner profile uri.
     * 
     * @return the partnerProfileUri
     */
    public String getPartnerProfileUri() {
        return this.partnerProfileUri;
    }

    /**
     * Sets the partner profile uri.
     * 
     * @param partnerProfileUri the partnerProfileUri to set
     */
    public void setPartnerProfileUri(String partnerProfileUri) {
        this.partnerProfileUri = partnerProfileUri;
    }

    /**
     * Checks if is user creation failed.
     * 
     * @return true, if is user creation failed
     */
    public boolean isUserCreationFailed() {
        return this.userCreationFailed;
    }

    /**
     * Sets the user creation failed.
     * 
     * @param userCreationFailed the new user creation failed
     */
    public void setUserCreationFailed(boolean userCreationFailed) {
        this.userCreationFailed = userCreationFailed;
    }

    /**
     * Checks if is user update failed.
     * 
     * @return true, if is user update failed
     */
    public boolean isUserUpdateFailed() {
        return this.userUpdateFailed;
    }

    /**
     * Sets the user update failed.
     * 
     * @param userUpdateFailed the new user update failed
     */
    public void setUserUpdateFailed(boolean userUpdateFailed) {
        this.userUpdateFailed = userUpdateFailed;
    }

    /**
     * Gets the tenant.
     * 
     * @return the tenant
     */
    public String getTenant() {
        return this.tenant;
    }

    /**
     * Sets the tenant.
     * 
     * @param tenant the tenant to set
     */
    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    /**
     * Gets the all device types.
     * 
     * @return the allDeviceTypes
     */
    public List<String> getAllDeviceTypes() {
        return this.allDeviceTypes;
    }

    /**
     * Sets the all device types.
     * 
     * @param allDeviceTypes the allDeviceTypes to set
     */
    public void setAllDeviceTypes(List<String> allDeviceTypes) {
        this.allDeviceTypes = allDeviceTypes;
    }

    /**
     * Gets the security question answer map.
     * 
     * @return the security question answer map
     */
    public Map<String, String> getSecurityQuestionAnswerMap() {
        return this.securityQuestionAnswerMap;
    }

    /**
     * Sets the security question answer map.
     * 
     * @param securityQuestionAnswerMap the security question answer map
     */
    public void setSecurityQuestionAnswerMap(Map<String, String> securityQuestionAnswerMap) {
        this.securityQuestionAnswerMap = securityQuestionAnswerMap;
    }

    /**
     * Gets the tenant name.
     * 
     * @return the tenantName
     */
    public String getTenantName() {
        return this.tenantName;
    }

    /**
     * Sets the tenant name.
     * 
     * @param tenantName the tenantName to set
     */
    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    /**
     * Gets the full name.
     * 
     * @return the full name
     */
    public String getFullName() {
        StringBuilder builder = new StringBuilder();
        builder.append(this.firstName);
        builder.append(SPACE);
        builder.append(this.lastName);
        return builder.toString();
    }
}